package org.edu.modules.survey.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

@TableName("ve_addons_survey_user_data")
@ApiModel(value = "ve_addons_survey_user_data对象", description = "用户问卷明细")
public class VeAddonsSurveyUserData implements Serializable {
    private static final long serialVersionUID = 1L;
    @TableId(type = IdType.AUTO)
    @ApiModelProperty("id")
    private Integer id;
    @ApiModelProperty("用户id")
    private Integer userid;
    @ApiModelProperty("问卷id")
    private Integer surveyid;
    @ApiModelProperty("题目id")
    private Integer questionid;
    @ApiModelProperty("题型;1单选，2多选，3问答")
    private Integer typeid;

    public org.edu.modules.survey.entity.VeAddonsSurveyUserData setId(Integer id) {
        this.id = id;
        return this;
    }

    @ApiModelProperty("用户答案")
    private String answer;
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("answertime")
    private Date answertime;
    @ApiModelProperty("终端")
    private Integer terminalid;
    @ApiModelProperty("应用")
    private Integer appid;
    @ApiModelProperty("模块")
    private String module;
    @ApiModelProperty("多租户id")
    private Integer placeId;

    public org.edu.modules.survey.entity.VeAddonsSurveyUserData setUserid(Integer userid) {
        this.userid = userid;
        return this;
    }

    public org.edu.modules.survey.entity.VeAddonsSurveyUserData setSurveyid(Integer surveyid) {
        this.surveyid = surveyid;
        return this;
    }

    public org.edu.modules.survey.entity.VeAddonsSurveyUserData setQuestionid(Integer questionid) {
        this.questionid = questionid;
        return this;
    }

    public org.edu.modules.survey.entity.VeAddonsSurveyUserData setTypeid(Integer typeid) {
        this.typeid = typeid;
        return this;
    }

    public org.edu.modules.survey.entity.VeAddonsSurveyUserData setAnswer(String answer) {
        this.answer = answer;
        return this;
    }

    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    public org.edu.modules.survey.entity.VeAddonsSurveyUserData setAnswertime(Date answertime) {
        this.answertime = answertime;
        return this;
    }

    public org.edu.modules.survey.entity.VeAddonsSurveyUserData setTerminalid(Integer terminalid) {
        this.terminalid = terminalid;
        return this;
    }

    public org.edu.modules.survey.entity.VeAddonsSurveyUserData setAppid(Integer appid) {
        this.appid = appid;
        return this;
    }

    public org.edu.modules.survey.entity.VeAddonsSurveyUserData setModule(String module) {
        this.module = module;
        return this;
    }

    public org.edu.modules.survey.entity.VeAddonsSurveyUserData setPlaceId(Integer placeId) {
        this.placeId = placeId;
        return this;
    }

    public String toString() {
        return "VeAddonsSurveyUserData(id=" + getId() + ", userid=" + getUserid() + ", surveyid=" + getSurveyid() + ", questionid=" + getQuestionid() + ", typeid=" + getTypeid() + ", answer=" + getAnswer() + ", answertime=" + getAnswertime() + ", terminalid=" + getTerminalid() + ", appid=" + getAppid() + ", module=" + getModule() + ", placeId=" + getPlaceId() + ")";
    }


    public boolean equals(Object o) {
        if (o == this) return true;
        if (!(o instanceof org.edu.modules.survey.entity.VeAddonsSurveyUserData)) return false;
        org.edu.modules.survey.entity.VeAddonsSurveyUserData other = (org.edu.modules.survey.entity.VeAddonsSurveyUserData) o;
        if (!other.canEqual(this)) return false;
        Object this$id = getId(), other$id = other.getId();
        if ((this$id == null) ? (other$id != null) : !this$id.equals(other$id)) return false;
        Object this$userid = getUserid(), other$userid = other.getUserid();
        if ((this$userid == null) ? (other$userid != null) : !this$userid.equals(other$userid)) return false;
        Object this$surveyid = getSurveyid(), other$surveyid = other.getSurveyid();
        if ((this$surveyid == null) ? (other$surveyid != null) : !this$surveyid.equals(other$surveyid)) return false;
        Object this$questionid = getQuestionid(), other$questionid = other.getQuestionid();
        if ((this$questionid == null) ? (other$questionid != null) : !this$questionid.equals(other$questionid))
            return false;
        Object this$typeid = getTypeid(), other$typeid = other.getTypeid();
        if ((this$typeid == null) ? (other$typeid != null) : !this$typeid.equals(other$typeid)) return false;
        Object this$terminalid = getTerminalid(), other$terminalid = other.getTerminalid();
        if ((this$terminalid == null) ? (other$terminalid != null) : !this$terminalid.equals(other$terminalid))
            return false;
        Object this$appid = getAppid(), other$appid = other.getAppid();
        if ((this$appid == null) ? (other$appid != null) : !this$appid.equals(other$appid)) return false;
        Object this$placeId = getPlaceId(), other$placeId = other.getPlaceId();
        if ((this$placeId == null) ? (other$placeId != null) : !this$placeId.equals(other$placeId)) return false;
        Object this$answer = getAnswer(), other$answer = other.getAnswer();
        if ((this$answer == null) ? (other$answer != null) : !this$answer.equals(other$answer)) return false;
        Object this$answertime = getAnswertime(), other$answertime = other.getAnswertime();
        if ((this$answertime == null) ? (other$answertime != null) : !this$answertime.equals(other$answertime))
            return false;
        Object this$module = getModule(), other$module = other.getModule();
        return !((this$module == null) ? (other$module != null) : !this$module.equals(other$module));
    }

    protected boolean canEqual(Object other) {
        return other instanceof org.edu.modules.survey.entity.VeAddonsSurveyUserData;
    }

    public int hashCode() {
        int PRIME = 59;
        Integer result = 1;
        Object $id = getId();
        result = result * 59 + (($id == null) ? 43 : $id.hashCode());
        Object $userid = getUserid();
        result = result * 59 + (($userid == null) ? 43 : $userid.hashCode());
        Object $surveyid = getSurveyid();
        result = result * 59 + (($surveyid == null) ? 43 : $surveyid.hashCode());
        Object $questionid = getQuestionid();
        result = result * 59 + (($questionid == null) ? 43 : $questionid.hashCode());
        Object $typeid = getTypeid();
        result = result * 59 + (($typeid == null) ? 43 : $typeid.hashCode());
        Object $terminalid = getTerminalid();
        result = result * 59 + (($terminalid == null) ? 43 : $terminalid.hashCode());
        Object $appid = getAppid();
        result = result * 59 + (($appid == null) ? 43 : $appid.hashCode());
        Object $placeId = getPlaceId();
        result = result * 59 + (($placeId == null) ? 43 : $placeId.hashCode());
        Object $answer = getAnswer();
        result = result * 59 + (($answer == null) ? 43 : $answer.hashCode());
        Object $answertime = getAnswertime();
        result = result * 59 + (($answertime == null) ? 43 : $answertime.hashCode());
        Object $module = getModule();
        return result * 59 + (($module == null) ? 43 : $module.hashCode());
    }


    public Integer getId() {
        return this.id;
    }

    public Integer getUserid() {
        /* 40 */
        return this.userid;
    }

    public Integer getSurveyid() {
        /* 43 */
        return this.surveyid;
    }

    public Integer getQuestionid() {
        /* 46 */
        return this.questionid;
    }

    public Integer getTypeid() {
        return this.typeid;
    }

    public String getAnswer() {
        /* 52 */
        return this.answer;
    }


    public Date getAnswertime() {
        return this.answertime;
    }

    public Integer getTerminalid() {
        /* 60 */
        return this.terminalid;
    }

    public Integer getAppid() {
        /* 63 */
        return this.appid;
    }

    public String getModule() {
        /* 66 */
        return this.module;
    }

    public Integer getPlaceId() {
        return this.placeId;
    }
}



